home *** CD-ROM | disk | FTP | other *** search
/ USA Bestseller / USA BESTSELLER Vol 1-95 (Hepp-Computer)(1995).iso / e136 / cdbeep.doc < prev    next >
Text File  |  1995-01-01  |  8KB  |  143 lines

  1.                ____________________________
  2.               |                   |
  3.               |      CBEEP - DBEEP        |
  4.               | Replace BEEP With a Flash! |
  5.               |____________________________|
  6.  
  7.                 Copyright (C)  1991
  8.                   >>-Swift-Ware->
  9.  
  10.                    Version  1.2
  11.                     April 1991
  12.  
  13.                 I.    Installation and Use
  14.  
  15.     The primary programs in this package are CBEEP.COM and DBEEP.COM.
  16.     They  will usually be referred to without their  .COM  extensions
  17.     for  convenience.  DBEEP is first used to produce a  new  renamed
  18.     version  of any program which has the beep replaced by    a  flash.
  19.     Then  CBEEP is loaded into the computer's memory.  CBEEP  is  the
  20.     program which actually makes the flash when called upon to do  so
  21.     by  the  debeeped program.  Finally the debeeped version  of  the
  22.     program  is loaded and run.  After some initial preparation,  the
  23.     use  of the debeeped version of a program can be made  completely
  24.     automatic and transparent to the user.
  25.  
  26.               DBEEP
  27.  
  28.     This  will start execution of the debeeping program.  DBEEP  will
  29.     display  a  menu  where <F1> may be pressed  to  display  a  help
  30.     screen,  <F2> may be pressed to start the debeeping process,  and
  31.     <F3>  may be pressed to install CBEEP in the computer.    For  now,
  32.     let's wait a bit before installing CBEEP and go on to create  the
  33.     debeeped  version  of the program.  Press <F2> and  you  will  be
  34.     prompted to enter the name of the program to be debeeped.  In our
  35.     example,  the program was NOISY.EXE in subdirectory  PROGRAMS  on
  36.     Drive C:, so enter
  37.  
  38.           C:\PROGRAMS\NOISY.EXE
  39.  
  40.           You will be prompted for the name of the
  41.     new  (debeeped) version of the program which you want to  create.
  42.            It is very important to use the same extension
  43.     but the name should be different from the original name.  In  our
  44.     case  we might select the name NOTNOISY.EXE as our  new  program.
  45.     After  you  enter  the new program name,  DBEEP  will  begin  the
  46.     debeeping  process. You will see from the display on  the  screen
  47.     that the process has begun and the display will indicate when the
  48.     debeeping  process  has finished; this may take a minute  or  so.
  49.     After DBEEP has finished, you may  press <F3> to "launch"  CBEEP.
  50.     This places into the computer's memory the program which produces
  51.     the  flash when called upon to do so by the debeeped  version  of
  52.     the  program.  As part of the process of installing or    launching
  53.     CBEEP,    the  CBEEP  menu  will    be  displayed  which  will  allow
  54.     selecting  the size and duration of the flash.    Press the  number
  55.     keys  as  indicated to select your  preferred  choice.     Finally,
  56.     after completing the creation of the debeeped program (which  you
  57.     have  given  a new name) and installing CBEEP, you are    ready  to
  58.     exit from DBEEP which may be done by pressing the <Esc> key.  You
  59.     will now be back at the DOS prompt and may run your new  debeeped
  60.     version of the program by entering its new name.  In our example,
  61.     merely enter NOTNOISY.    That's all there is to it.
  62.  
  63.     In  some cases, you may see the message "NO BEEPERS  FOUND"  even
  64.     though you know that the program produces beeps.  In most  cases,
  65.     this  will  not cause a problem and the beeps  will  properly  be
  66.     intercepted  and  replaced by flashes.    A further  discussion  of
  67.     this will be found in the section for Advanced Topics.
  68.            A shortcut which can be used if you  remember  the
  69.     number    of  the menu item you used to select the flash    size  and
  70.     duration is to skip the use of DBEEP and just enter CBEEP /n from
  71.     the  DOS  command  line, where for "n" you enter  the  menu  item
  72.     selection.   For example, to get a large, 1/2 sec.  flash,  enter
  73.     CBEEP /2.
  74.  
  75.     CBEEP.COM is a terminate-and-stay-resident (TSR) program which is
  76.     called by the debeeped program.  DBEEP.COM searches the  original
  77.     user's    program and replaces all code which generates beeps  with
  78.     code  which generates a software interrupt.   Normally    interrupt
  79.     60H  is  used,    but  CHGINT.COM may be    used  to  select  another
  80.     interrupt if 60H causes interference with other users of the same
  81.     interrupt. CBEEP, DBEEP, and CHGINT should be placed in the  same
  82.     subdirectory, and CHGINT run.  That will display a menu  allowing
  83.     selection  of an alternate interrupt number in the range  60H  to
  84.     66H.  You should be very careful about using interrupt 67H as  it
  85.     is used for LIM EMS (an Expanded Memory manager) in all  versions
  86.     of  DOS beginning with DOS 2.0 although only officially  reserved
  87.     by DOS in DOS 4.0 and above.
  88.  
  89.     Beeps can be generated in several ways.  The best-behaved  method
  90.     is to use DOS' BIOS services to send a BEL (character code 7)  to
  91.     the  screen.  An alternate method is directly to  manipulate  the
  92.     hardware  which controls the speaker.  This is done by using  the
  93.  
  94.     OUT  instruction to change the two low order bits of port 61H  to
  95.     turn  the  speaker on and off.    DBEEP looks for  the  code  which
  96.     generates  such  instructions  and replaces it    with  a  software
  97.     interrupt (using either the default interrupt number of 60H or an
  98.     alternate  interrupt  number  selected via  CHGINT),  padding  as
  99.     needed    with NOPs. A reasonableness check of surrounding data  is
  100.     made  in order to distinguish code from data prior  to    replacing
  101.     the  beep codes.  This technique for handling direct port  writes
  102.     was suggested by Dave Fallen's SILENCER program code.
  103.  
  104.     In some cases the message "NO BEEPERS FOUND" is produced by DBEEP
  105.     even  though the code being debeeped is known to  produce  beeps.
  106.     This is generally caused by code which does not write directly to
  107.     hardware ports but merely uses DOS or BIOS services to produce    a
  108.     beep by sending the BEL character to the screen.  The  interrupts
  109.     used  by these services are trapped by CBEEP and thus  the  beeps
  110.     are  properly  converted  into flashes even  though  no  code  is
  111.     modified by DBEEP.  The message "NO BEEPERS FOUND" thus indicates
  112.     that  no  code    replacement was necessary rather  than    that  the
  113.     program being debeeped doesn't have any beep-producing code.
  114.  
  115.     There are a few known limitations to this procedure.   Compressed
  116.     executable  code will not generally allow the instructions to  be
  117.     properly identified.  If the compression technique which has been
  118.     used  is known, it may be possible to uncompress the code,  apply
  119.     the  debeeping    program  to the uncompressed  version,    and  then
  120.     recompress  the  debeeped version.  Microsoft  Windows    code  may
  121.     cause  problems.   Programs  which have been  compressed  can  be
  122.     identified  (along  with the compression technique used)  by  the
  123.     utility   CHK4COMP.EXE.   Many    commercial  programs  have   been
  124.     compressed by Microsoft's EXEPACK; these may be unpacked by using
  125.     UPACKEXE.EXE.    As  of this writing, CHK4COMP could  be  obtained
  126.     from  CompuServe IBMSYS in CKH4.ZIP; UPACKEXE was also    available
  127.     from CompuServe IBMSYS in LZEX91.ZIP.
  128.  
  129.                  V.  Disclaimer
  130.  
  131.     The  software and documentation in this packare are provided  "As
  132.     Is"  without  warranty  of any kind.   >>-Swift-Ware->  does  not
  133.     warrant,  guarantee,  or make any representations  regarding  the
  134.     use, or the results of use, of this software.  All risk taken  in
  135.     the use of this software is assumed by you, the user, and not  by
  136.     >>-Swift-Ware->,  nor  by  any person  or  organization  who  may
  137.     distribute this product.
  138.  
  139. ********************************************************************************
  140.  
  141.              CDV - Software * Ettlingerstr. 5 * 7500 Karlsruhe 1
  142.  
  143.